package grupo1.fotomultas.Fotomultas.Categorias;

import grupo1.fotomultas.Fotomultas.Vehiculo;
import grupo1.fotomultas.Fotomultas.Infracciones.Infraccion;
import grupo1.fotomultas.Fotomultas.Notificaciones.NotificacionConfiguracion;
import AplicacionDelegate.AplicacionDelegado;

public class Evasor extends Categoria{
	

	private static final int DeudaPermitida = 1000;
	private static final java.lang.String CapturasAfip = "capturas@afip.com"; 
	protected static Evasor instance = null;
	
	public static Evasor Instance(){
		if (instance == null) instance = new Evasor();
		return instance;
	   } 

	public void verificarCategoriaVehiculo(Vehiculo vehiculo) {
		double totalAdeudado = vehiculo.totalDineroAdeudado();
		if (DeudaPermitida < totalAdeudado) vehiculo.agregarCategoria(this);
	}
	
	public String toString(){
		return "Evasor";
		
	}

	@Override
	protected void crearNotificacionesConfiguracion() {
		notificacionesConfiguracion.add(new NotificacionConfiguracion(CapturasAfip, AplicacionDelegado.Instance().mailSender()));

	}

	@Override
	protected void enviarNotificacion(NotificacionConfiguracion notiConfig,
			Infraccion infraccion) {
		notiConfig.enviarNotificacion(infraccion);
		
	}

	@Override
	protected void verificarCategoriaExistenteVehiculo(Vehiculo vehiculo) {
		if(this.esMoroso(vehiculo,DeudaPermitida)){
			vehiculo.removerCategoria(this);
		}
		
	}

	
}